package operations; import polynomials.Monom; import polynomials.Polynomial; /** * Has methods that allow the computation of different operations on one * polynomial * * @author Cosmina * */ public class MonoOperation implements Operation { private Polynomial p; public MonoOperation() { p = new Polynomial(); } public Polynomial differentiate(Polynomial p1) { p.getArray().clear(); for (Monom m : p1.getArray()) { if (m.getPower() != 0) { m = new Monom(m.getCoeff() * m.getPower(), m.getPower() - 1); } else m = new Monom(0, 0); p.addMonom(m); } return p; } public Polynomial integrate(Polynomial p1) { p.getArray().clear(); for (Monom m : p1.getArray()) { m = new Monom(m.getCoeff(), m.getPower() + 1); p.addMonom(m); } return p; } public int evaluatePolyAtPoint(int point, Polynomial p1) { p.getArray().clear(); int result = 0; for (Monom m : p1.getArray()) { if (m.getPower() != 0) { result += Math.pow(point, m.getPower()) * m.getCoeff(); } else if (m.getPower() == 0) { result += m.getCoeff(); } } return result; } @Override public Polynomial add(Polynomial p1, Polynomial p2) { return null; } @Override public Polynomial subtract(Polynomial p1, Polynomial p2) { return null; } @Override public Polynomial multiply(Polynomial p1, Polynomial p2) { return null; } }